\documentclass[a4paper,12pt]{article}

\usepackage[top=3cm,bottom=2cm,left=3cm,right=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[portuguese]{babel}

\usepackage{clrscode3e}



\title{\bf{Projeto: Algoritmos em Grafos}}
\author{\bf{José João de Moura Júnior  -  RA: 11085510}}
\begin{document}
\maketitle

\abstract{Implementação de algoritmos a partir de matrizes de adjacência na linguagem python para detectar características e propriedades dos grafos correspondente}

\section{\MakeUppercase{ \bf{Introdução}}}
\paragraph{O objetivo desse projeto é a aplicação de conceitos sobre grafos da disciplina Matemática Discreta na Universidade Federal do ABC na construção de algoritmos em linguagem de programação.}
\paragraph{O aplicativo detecta propriedades de grafos a partir de sua matriz de adjacências em arquivo ou entrada pelo usuário. Foram implementadas as funções que detectam se é ou não árvore, é ou não um grafo conexo, é ou não completo, é ou não direcionado, graus de entrada e saída além de verificar existência de caminho entre dois vértices, ciclos e vértices isolados.}
\paragraph{A linguagem escolhida para tanto foi a linguagem de script Python, devido à facilidade de implementação de algoritmos nessa linguagem, velocidade de execução além do fato de Python conter estruturas de dados e objetos embutidos como listas, dicionários, conjuntos, tuplas e outros no próprio cerne da linguagem.}

\section{\MakeUppercase{\bf{Descrição do Código}}}

\subsection{\bf{Função e\_arvore}}
\paragraph{A função e\_arvore utiliza as propriedades tem\_vert\_isol , e\_direcionado, tem\_ciclo e e\_conexo que indicam se existem vértices isolados, se o grafo é direcionado, se existem ciclos e se é um grafo conexo respectivamente.}
\paragraph{Para um grafo ser uma árvore não podem haver vértices isolados, ciclos e subgrafos isolados além de ser não direcionado}
\paragraph{Essas funções são descritas mais adiante}
\paragraph{Algoritmo:}
\begin{codebox}
\Procname{$\proc{e\_arvore}(MatrizDeAdjacencia)$}
\li \If não $tem\_vert\_isol $ e $e\_direcionado$ e não $tem\_ciclo$
\li  \Do \Return $Verdadeiro$
\li\Else
\li  \Return $Falso$

\End
\end{codebox}



\end{document}

